/**
 * 首页构造类
 * Created by 杨浩宇 on 2016-01-06.
 */
define(["require", "jquery", 'public/app','domReady',"template"], function (require, $, app,domReady,artTemplate) {

    function Home($container) {
        this._$container = $container;
        this._init();

    }

    Home.prototype = {
        //定义当前页面的关键字此关键字必须全库唯一，用于向后台数据库获取对应的渲染模板
        _initKey:function(){
            return "home";
        },
        _init: function () {
            var self= this;
            domReady(function (){
                var selfx= this;
                var template = app.getTempldate(self._initKey()); //根据页面关键字查询要使用的模板
                var path = app.urlBuild(template.path); //构造模板路径
                $.get(path, function (result) {//向真实页面加载模板内容
                    self._$container.html(result);
                    self._initData(template);
                });
            });

        },
        /**
         * 初始化url地址
         * @private
         */
        _initUrlPath: function (styleId) {
            this.urlPaths = {
                getPageInfo :app.urlBuild("dirms/page/pageInfo/findPageInfoByStyleId/"+styleId) //模型的页面样式ID
            };
        },

        /**
         * 初始化类
         * @private
         */
        _initData: function (template) {
            this._initUrlPath(template.styleId);

            var self = this;

            //通过DataReady先准备好所有页面需要的数据，然后再对页面控件进行统一的初始化
            var dataReady = app.getDataReady();
            dataReady.pushDataSource({//逐个放入所有数据源
                url: this.urlPaths.getPageInfo,
                key: 'pageInfo'
            });
            dataReady.once(function (readyData) {//所有数据源都加载后执行一次方法
                var template_content_data ={
                    contentList :readyData.pageInfo.data
                }
                var template_content_html = artTemplate('template_content', template_content_data);
                $('#wrapper1').html(template_content_html);
                self._forward();
                //var iptvBlock1 = new $.iptv_block();
                //var iptvBlock2 = new $.iptv_block();
            });
        },
        _forward: function(){ //构造跳转页面事件
            var self = this;
            $("a[id^='link_']").on('click', function () {
                var idStr =$(this).attr("id");
                var key = idStr.replace("link_","");
                app.buildPage(key,self._$container);
            });

        }
    };

    return Home;
});